import numpy as np

if __name__ == '__main__':
    matrix_1 = np.arange(0, 9).reshape((3, 3))
    print(matrix_1)

    matrix_2 = np.ones((3, 3))
    print(matrix_2)

    # 矩阵的加法
    matrix_sum = matrix_1 + matrix_2
    print(matrix_sum)

    # 矩阵的标量乘法
    matrix_scalar = 3 * matrix_1
    print(matrix_scalar)
    # 矩阵的减法即矩阵的加法和矩阵的标量乘法组合
    matrix_subtract = matrix_1 - matrix_2
    print(matrix_subtract)

    matrix_subtract_ = matrix_1 + -1 * matrix_2
    print(matrix_subtract_)

    # 使用 * 对进行对应位置相乘，不是矩阵乘法
    matrix_multiply = matrix_1 * 2 * matrix_2
    print(matrix_multiply)

    # 使用 @ 表示矩阵的乘法
    matrix_multiply_1 = matrix_1 @ matrix_2
    print(matrix_multiply_1)

    matrix_multiply_2 = matrix_1 @ (2 * matrix_2)
    print(matrix_multiply_2)

    # 使用 matmul 表示矩阵的乘法
    matrix_multiply_3 = np.matmul(matrix_1, matrix_2)
    print(matrix_multiply_3)
